/*
 * Customer.h
 *
 *	Customer description
 *
 *  Created on: 2011-10-30
 *      Author: mateusz
 */
#ifndef CUSTOMER_H_
#define CUSTOMER_H_

#include "Point.h"
#include <cmath>

class Customer : public Point {
public:
	Customer(int id, double x, double y, int demand);
	virtual ~Customer();

	int getDemand();

	void visit();
	void unvisit();
	bool isVisited();

	void setId(int inputId);
	int getId();
	int getInputId();

	double getDepotDistance();
	void setMinVertexDistance(double distance);
	double getMinVertexDistance();
	double getDepotAngle();

protected:
	int id;
	int inputId;
	int demand;
	bool visited;
	double depotDistance;
	double minVertexDistance;
	double depotAngle;
};

#endif /* CUSTOMER_H_ */
